package util;

/**
 * Classe padrão para controle de exceções.
 *
 * @author Rodolpho
 */
public class CustomException extends Exception {

    private String erroId;
    private String erroDescricao;
    private String erroMsgOriginal;

    /**
     * Construtor. Chama o método construtor da classe pai (Exception), seta a
     * descrição do erro passado por parâmetro e trata a exceção passada por
     * parâmetro
     *
     * @param erroDescricao
     * @param cause
     */
    public CustomException(String erroDescricao, Throwable cause) {
        super(cause);
        this.erroDescricao = erroDescricao;
        this.erroId = cause.getClass().getName();
        this.erroMsgOriginal = cause.getMessage();
    }

    public String getErroId() {
        return erroId;
    }

    public void setErroId(String erroId) {
        this.erroId = erroId;
    }

    public String getErroDescricao() {
        return erroDescricao;
    }

    public void setErroDescricao(String erroDescricao) {
        this.erroDescricao = erroDescricao;
    }

    public String getErroMsgOriginal() {
        return erroMsgOriginal;
    }

    public void setErroMsgOriginal(String erroMsgOriginal) {
        this.erroMsgOriginal = erroMsgOriginal;
    }
}